package com.pisolution.scheduler.runtime.master.dispatcher.host;

import com.pisolution.scheduler.core.tuple.Tuple3;
import com.pisolution.scheduler.remote.command.Command;
import com.pisolution.scheduler.remote.utils.Host;

/**
 * 用于从一定范围内的工作节点中选取一个适当的节点.
 *
 * @author sora
 * @version 0.1.0
 */
public interface HostManager {
    /**
     * 依据给定的指令上下文 从众多节点中选取一个适当的节点予以执行该指令.
     *
     * @param context 指令上下文.
     *
     * @return 待执行该指令的工作节点地址信息.
     */
    Host select(final Tuple3<Host, Command, String> context);
}
